'use strict'
  class UgcService {
    constructor(rpc_client) {
      this.rpc_client = rpc_client
    }
    /**
    * 获取指定订单的评论
    * @params orderId 订单id
    * @return
    */
    getOrderRateByOrderId(orderId) {
      return this.rpc_client.request("eleme.ugc.getOrderRateByOrderId", {
        orderId: orderId,
      })
    }
    /**
    * 获取指定订单的评论
    * @params orderIds 订单id
    * @return
    */
    getOrderRatesByOrderIds(orderIds) {
      return this.rpc_client.request("eleme.ugc.getOrderRatesByOrderIds", {
        orderIds: orderIds,
      })
    }
    /**
    * 获取未回复的评论
    * @params orderIds 订单id
    * @return
    */
    getUnreplyOrderRatesByOrderIds(orderIds) {
      return this.rpc_client.request("eleme.ugc.getUnreplyOrderRatesByOrderIds", {
        orderIds: orderIds,
      })
    }
    /**
    * 获取指定店铺的评论
    * @params shopId  餐厅id
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getOrderRatesByShopId(shopId, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getOrderRatesByShopId", {
        shopId: shopId,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 获取指定店铺的评论
    * @params shopIds 店铺id
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getOrderRatesByShopIds(shopIds, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getOrderRatesByShopIds", {
        shopIds: shopIds,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 获取未回复的评论
    * @params shopIds 店铺id
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getUnreplyOrderRatesByShopIds(shopIds, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getUnreplyOrderRatesByShopIds", {
        shopIds: shopIds,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 获取店铺的满意度评价信息
    * @params shopId  餐厅id
    * @params score 满意度,取值范围为1~5，1为最不满意，5为非常满意
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getOrderRatesByShopAndRating(shopId, score, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getOrderRatesByShopAndRating", {
        shopId: shopId,
        score: score,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 获取单个商品的评论
    * @params itemId  商品id
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getItemRatesByItemId(itemId, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getItemRatesByItemId", {
        itemId: itemId,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 获取多个商品的评论
    * @params itemIds 商品id
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getItemRatesByItemIds(itemIds, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getItemRatesByItemIds", {
        itemIds: itemIds,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 获取多个商品未回复的评论
    * @params itemIds 店铺id
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @params offset 页面偏移量
    * @params pageSize 页面大小
    * @return
    */
    getUnreplyItemRatesByItemIds(itemIds, startTime, endTime, offset, pageSize) {
      return this.rpc_client.request("eleme.ugc.getUnreplyItemRatesByItemIds", {
        itemIds: itemIds,
        startTime: startTime,
        endTime: endTime,
        offset: offset,
        pageSize: pageSize,
      })
    }
    /**
    * 回复订单未回复的评论
    * @params orderId 订单id
    * @params reply 回复内容
    * @return
    */
    replyRateByOrderId(orderId, reply) {
      return this.rpc_client.request("eleme.ugc.replyRateByOrderId", {
        orderId: orderId,
        reply: reply,
      })
    }
    /**
    * 批量回复订单未回复的评论
    * @params orderIds 订单id
    * @params reply 回复信息
    * @return
    */
    replyCommentByOrderIds(orderIds, reply) {
      return this.rpc_client.request("eleme.ugc.replyCommentByOrderIds", {
        orderIds: orderIds,
        reply: reply,
      })
    }
    /**
    * 回复商品回复的评论
    * @params itemId 商品id
    * @params reply 回复内容
    * @params startTime   开始时间,只能查询最近90天的数据
    * @params endTime   结束时间
    * @return
    */
    replyRatesByItemId(itemId, reply, startTime, endTime) {
      return this.rpc_client.request("eleme.ugc.replyRatesByItemId", {
        itemId: itemId,
        reply: reply,
        startTime: startTime,
        endTime: endTime,
      })
    }
    /**
    * 回复多个商品评论
    * @params itemIds 商品d
    * @params reply 回复信息
    * @params startTime 开始时间,只能查询最近90天的数据
    * @params endTime 结束时间
    * @return
    */
    replyRatesByItemIds(itemIds, reply, startTime, endTime) {
      return this.rpc_client.request("eleme.ugc.replyRatesByItemIds", {
        itemIds: itemIds,
        reply: reply,
        startTime: startTime,
        endTime: endTime,
      })
    }
    /**
    * 通过rateId和shopId 回复指定类型的评论(推荐)
    * @params rateId 评论编号
    * @params shopId  餐厅id
    * @params replyType 评论类型
    * @params reply 回复的内容
    * @return
    */
    replyRateByRateIdAndShopId(rateId, shopId, replyType, reply) {
      return this.rpc_client.request("eleme.ugc.replyRateByRateIdAndShopId", {
        rateId: rateId,
        shopId: shopId,
        replyType: replyType,
        reply: reply,
      })
    }
    /**
    * 通过rateIds和shopId 批量回复指定类型的评论(推荐)
    * @params rateIds  评论编号
    * @params shopId  餐厅id
    * @params replyType 评论类型
    * @params reply 回复的内容
    * @return
    */
    replyRateByRateIdsAndShopId(rateIds, shopId, replyType, reply) {
      return this.rpc_client.request("eleme.ugc.replyRateByRateIdsAndShopId", {
        rateIds: rateIds,
        shopId: shopId,
        replyType: replyType,
        reply: reply,
      })
    }
    /**
    * 根据订单ID赠送代金券给该订单的评价用户
    * @params orderId  订单编号
    * @params coupon 需要赠送的代金券信息
    * @return
    */
    sendCouponByOrderId(orderId, coupon) {
      return this.rpc_client.request("eleme.ugc.sendCouponByOrderId", {
        orderId: orderId,
        coupon: coupon,
      })
    }
    /**
    * 根据订单ID获取该订单评价用户的可赠券状态
    * @params orderId  订单编号
    * @return
    */
    getOrderCouponStatus(orderId) {
      return this.rpc_client.request("eleme.ugc.getOrderCouponStatus", {
        orderId: orderId,
      })
    }
    /**
    * 根据订单ID集合获取该订单的已赠券信息集合
    * @params orderIds 订单编号集合
    * @return
    */
    getCouponsByOrderIds(orderIds) {
      return this.rpc_client.request("eleme.ugc.getCouponsByOrderIds", {
        orderIds: orderIds,
      })
    }
    /**
    * 获取店铺的推荐赠送代金券信息
    * @params shopId 餐厅ID
    * @return
    */
    getRecommendCouponByShopId(shopId) {
      return this.rpc_client.request("eleme.ugc.getRecommendCouponByShopId", {
        shopId: shopId,
      })
    }
    /**
    * 查询评价信息(推荐)
    * @params rateQuery 评价查询参数
    * @return
    */
    getORateResult(rateQuery) {
      return this.rpc_client.request("eleme.ugc.getORateResult", {
        rateQuery: rateQuery,
      })
    }
    /**
    * 统计评价信息数量
    * @params rateQuery 评价查询参数
    * @return
    */
    countORateResult(rateQuery) {
      return this.rpc_client.request("eleme.ugc.countORateResult", {
        rateQuery: rateQuery,
      })
    }
    /**
    * 通过rateIds和shopId 回复饿了么星选评论
    * @params rateIds  评论编号(订单维度)
    * @params shopId  饿了么侧餐厅id
    * @params reply 回复的内容
    * @return
    */
    replyBaiduRate(rateIds, shopId, reply) {
      return this.rpc_client.request("eleme.ugc.replyBaiduRate", {
        rateIds: rateIds,
        shopId: shopId,
        reply: reply,
      })
    }
    /**
    * 根据rateId和shopId 赠送代金券给该饿了么星选评价对应订单的评价用户
    * @params rateId  评论编号(订单维度)
    * @params shopId  餐厅id
    * @params coupon 需要赠送的代金券信息
    * @return
    */
    sendBaiduCoupon(rateId, shopId, coupon) {
      return this.rpc_client.request("eleme.ugc.sendBaiduCoupon", {
        rateId: rateId,
        shopId: shopId,
        coupon: coupon,
      })
    }
    /**
    * 根据rateId和shopId获取该订单评价用户的可赠券状态(推荐)
    * @params rateId  评论编号(订单维度)
    * @params shopId  餐厅id
    * @params rateDataType 评价数据类型
    * @return
    */
    getRateCouponStatus(rateId, shopId, rateDataType) {
      return this.rpc_client.request("eleme.ugc.getRateCouponStatus", {
        rateId: rateId,
        shopId: shopId,
        rateDataType: rateDataType,
      })
    }
    /**
    * 根据评价编号赠送代金券给评价用户(推荐)
    * @params ratingCouponDTO 赠券所需的参数
    * @return
    */
    ratingCoupon(ratingCouponDTO) {
      return this.rpc_client.request("eleme.ugc.ratingCoupon", {
        ratingCouponDTO: ratingCouponDTO,
      })
    }
    /**
    * 获取赠券扩展信息(推荐)
    * @params extendsQueries 评价赠券信息查询条件
    * @return
    */
    getCouponExtendsInfo(extendsQueries) {
      return this.rpc_client.request("eleme.ugc.getCouponExtendsInfo", {
        extendsQueries: extendsQueries,
      })
    }
}

module.exports = UgcService